160 PRINT CHR$(4)"BYE"d"BYE"d SPEED= <CTRL-0x08> DEL h`8 <CTRL-0x1f><UNKNOWN TOKEN> GOSUB <CTRL-0x02> HGR2 <CTRL-0x01>` IF ^ TAB( IF ) TAB( <CTRL-0x09> PLOT ) TAB( `8 <CTRL-0x1f><UNKNOWN TOKEN> GOSUB <CTRL-0x02> HGR2 <CTRL-0x01>` IF _ TAB( IF ) TAB( ) SIN PLOT ) TAB( `"
36286 <<CTRL-0x09> IF 1 GET PLOT SGN<CTRL-0x09> SPEED= 3 DEL
389 SPEED=
20653 TAB( IF R TAB( IF W TAB( ONERR ASC -@ = <CTRL-0x04> IF U TAB( ` IF T TAB( SPEED= DEL ASC`) PLOT PLOT <CTRL-0x09> J<UNKNOWN TOKEN> ONERR <UNKNOWN TOKEN>H ONERR STR$) END DEL <UNKNOWN TOKEN> IF PLOT <CTRL-0x09> - HGR2 u ONERR % TO <UNKNOWN TOKEN> DEL & ONERR )8 RIGHT$<CTRL-0x04><CTRL-0x18>e ASC DEL '<CTRL-0x18> ONERR e$e& DEL & SPEED=
4590 POKE 35,24: POKE 34,21: HOME : PRINT :A$ = "Press any key to continue.": GOSUB 10000
4591 GOSUB 10080: PRINT HM$: GOTO 1020
4899 REM <CTRL-0x0a><CTRL-0x0a>CLEAR LEVEL<CTRL-0x0a><CTRL-0x0a>
4900 PRINT HM$: HOME : PRINT "This will erase the entire level!": PRINT : PRINT "Do you want to do this?":A = 25:B = 24: GOSUB 10110: IF A$ = "N" OR A$ = CHR$(27) THEN PRINT HM$: HOME : GOTO 1030
4920 FOR I = 26624 TO 27903: POKE I,9: NEXT :P = 0:X = 0:Y = 0: FOR I = 27904 TO 28023: POKE I,23: NEXT :P = 0:X = 0:Y = 0: GOTO 1000
4999 REM <CTRL-0x0a><CTRL-0x0a>FILE UTILITIES<CTRL-0x0a><CTRL-0x0a>
5000 PRINT HM$:A$(0) = "File Utilities":A$(1) = "Load a level":A$(2) = "Save current level":A$(3) = "New Prefix/Slot, Drive":A$(4) = "Catalog":A$(5) = "Go back to Main Menu":A = 5
5003 GOSUB 10020
5004 FOR I = 0 TO 5:A$(I) = "": NEXT :A = 0
5010 ON X GOTO 5100,5200,5300,5400,15
5099 REM <CTRL-0x0a><CTRL-0x0a>LOAD A LEVEL<CTRL-0x0a><CTRL-0x0a>
5100 PRINT HM$: HOME :A$ = ""
5110 A$(0) = "Select level # to load:": FOR I = 0 TO 9:A$(I +1) = STR$(I): NEXT :A = 10: GOSUB 10020
5120 IF I = 27 THEN 5000
5130 A$ = "G" + STR$(X -1): GOSUB 10100: IF AZ = 0 THEN 5150
5140 PRINT D$;"bload";A$;",a$6800": GOTO 5000
5150 PRINT HM$: VTAB 12: PRINT " Level ";X -1;" is not on this disk.": GOSUB 10035: GOTO 5000
5199 REM <CTRL-0x0a><CTRL-0x0a>SAVE CURRENT LEVEL<CTRL-0x0a><CTRL-0x0a>
5200 PRINT HM$: HOME
5210 A$(0) = "Select level # to save:": FOR I = 0 TO 9:A$(I +1) = STR$(I): NEXT :A = 10: GOSUB 10020
7001 A$ = "GRCK.INSTR": GOSUB 10100: IF AZ = 0 THEN 7007
7002 PRINT D$"open"A$: PRINT D$"read"A$
7003 INPUT B$(B): IF B$(B) = "*" THEN PRINT D$"close":C(C) = B: GOTO 7006
7004 IF B$(B) = "#" THEN C(C) = B:C = C +1
7005 B = B +1: GOTO 7003
7006 POKE 32,2: POKE 33,36: GOTO 7010
7007 VTAB 12: PRINT " This is not the proper disk.": GOTO 10035
7010 VTAB 24: ROT= 3: FOR I = 1 TO 17: PRINT "#"; CHR$(34);: NEXT : PRINT "#": ROT= 0: PRINT HM$: HOME : FOR I = C(PG -1) TO C(PG):AA$ = LEFT$(B$(I),1): IF AA$ = "@" THEN GOSUB 7500: GOTO 7040
10004 REM <CTRL-0x0a><CTRL-0x0a>DRAW BORDER<CTRL-0x0a><CTRL-0x0a>
10005 PRINT TX$: HOME : ROT= 3: PRINT "$";: FOR Z = 2 TO 38 STEP 2: PRINT CHR$(162);"#";: NEXT : PRINT "%";: FOR Z = 2 TO 23: PRINT " ";: HTAB 40: PRINT "!";: NEXT : PRINT "'";: FOR Z = 2 TO 38 STEP 2: PRINT CHR$(162);"#";: NEXT : PRINT "&": ROT= 0
10009 REM <CTRL-0x0a><CTRL-0x0a>COLOR LINE<CTRL-0x0a><CTRL-0x0a>
10010 AZ = PEEK(37) *8:ZA = PEEK(32) *7: HPLOT ZA +1,AZ +3 TO ZA +( PEEK(33) *7 -1),AZ +3 TO ZA +( PEEK(33) *7 -1),AZ +4 TO ZA +1,AZ +4:AZ = 0:ZA = 0: RETURN
10019 REM <CTRL-0x0a><CTRL-0x0a>MENU MAKER<CTRL-0x0a><CTRL-0x0a>
10020 HOME : PRINT :A$ = " " +A$(0) +" ": HCOLOR= (2 *(A$ < >" ")) +4: GOSUB 10010: GOSUB 10000: HCOLOR= 6: PRINT : FOR I = 1 TO A:A$ = A$(I): GOSUB 10000: NEXT : PRINT : GOSUB 10010: HCOLOR= 7: HOME : PRINT : PRINT : PRINT :A$ = "":X = 1:AZ = PEEK(37)
10021 VTAB AZ +X:A$ = " " +A$(X) +" ": INVERSE : GOSUB 10000: NORMAL :X$ = A$
10037 A$ = " ": VTAB 23: GOSUB 10000:A$ = "": FOR AZ = 1 TO 9:A$ = A$ + CHR$(162) +"#": NEXT : ROT= 3: VTAB 24: GOSUB 10000: ROT= 0: PRINT HM$: HOME : RETURN
10039 REM <CTRL-0x0a><CTRL-0x0a>PRODOS INPUT<CTRL-0x0a><CTRL-0x0a>
10040 VTAB V: HTAB H: PRINT A$;:BS$ = CHR$(8)
10041 PRINT "_";BS$;: GET AZ$:AZ = ASC(AZ$): IF NOT ((AZ$ >"/" AND AZ$ <":") OR (AZ$ >"@" AND AZ$ <"[") OR (AZ$ >"`" AND AZ$ <"{") OR AZ$ = "/" OR AZ$ = "." OR AZ$ = "" OR AZ = 8 OR AZ = 13 OR AZ = 27) THEN 10041
10042 IF AZ = 27 OR AZ = 13 THEN VTAB V: PRINT " ";BS$;: VTAB V:ZZ = 0: RETURN
10043 IF (AZ$ = "" OR AZ = 8) AND LEN(A$) = 1 THEN A$ = "": PRINT BS$;" ";BS$;BS$;: VTAB V: GOTO 10041
10044 IF (AZ$ = "" OR AZ = 8) AND LEN(A$) >1 THEN A$ = LEFT$(A$, LEN(A$) -1): PRINT BS$;" ";BS$;BS$;: VTAB V: GOTO 10041
10045 IF AZ$ = >" " AND LEN(A$) <W AND AZ$ <"" THEN A$ = A$ +AZ$: PRINT AZ$;: VTAB V: GOTO 10041
10046 PRINT D$"beep": VTAB V: GOTO 10041
10049 REM <CTRL-0x0a><CTRL-0x0a>GRCK INPUT<CTRL-0x0a><CTRL-0x0a>
10052 AZ = A -128:AZ$ = CHR$(AZ): POKE 49168,0:A = 0: RETURN
10053 IF MS < >1 THEN A = PEEK( -16384): RETURN
10054 PRINT D$"IN#4": INPUT "";H1,V1,CL
10055 INPUT "";H,V,CL: IF CL <0 THEN A = PEEK( -16384): GOTO 10058
10056 IF CL = 1 OR CL = 2 THEN A = 160: GOTO 10058
10057 GOSUB 10090: GOSUB 10094: IF FL = 1 THEN A = ASC(A$) +128
10058 FL = 0: PRINT D$"IN#0": RETURN
10059 REM <CTRL-0x0a><CTRL-0x0a>WRAP-AROUND<CTRL-0x0a><CTRL-0x0a>
10060 AZ = PEEK(33) +1: IF LEN(A$) <AZ -1 THEN PRINT A$: RETURN
10061 IF LEN(A$) = AZ -1 THEN PRINT A$;: RETURN
10062 FOR ZA = AZ TO 1 STEP -1:AZ$ = MID$ (A$,ZA,1): IF AZ$ = " " AND LEN( LEFT$(A$,ZA -(AZ$ = " "))) = AZ -1 THEN PRINT LEFT$(A$,ZA -(AZ$ = " "));: GOTO 10065
10063 IF AZ$ = " " THEN PRINT LEFT$(A$,ZA -(AZ$ = " ")): GOTO 10065
10064 NEXT : PRINT "This variable is too long.": RETURN
10065 A$ = RIGHT$(A$, LEN(A$) -ZA): GOTO 10060
10069 REM <CTRL-0x0a><CTRL-0x0a>ERROR HANDLER<CTRL-0x0a><CTRL-0x0a>